package com.zwh.se.io;

import java.io.*;

/**
 * @author zwh
 * 数据流：用来操作基本数据类型和字符串的
 * DataInputStream:   将文件中存储的基本数据类型和字符串 写入 内存的变量中
 * DataOutputStream:  将内存中的基本数据类型和字符串的变量 写出 文件中
 *
 */
public class DataInputOutputStreamDemo {
    public static void main(String[] args) throws IOException {
        File file = new File("D:/dataStream.txt");
        if (!file.exists()){
            file.createNewFile();
        }
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        DataOutputStream dataOutputStream = new DataOutputStream(fileOutputStream);
        //向外将变量写到文件当中去
        dataOutputStream.writeUTF("你好");
        dataOutputStream.writeBoolean(false);
        dataOutputStream.writeDouble(6.9);
        dataOutputStream.writeInt(82);
        //关闭流：
        dataOutputStream.close();

        //阅读文件可以发现写出的内容人是看不懂的，但是程序可以看得懂即可
        FileInputStream fileInputStream = new FileInputStream(file);
        DataInputStream dataInputStream = new DataInputStream(fileInputStream);
        //将文件中内容读取到程序中来(要求:写出的类型跟读入的类型 必须 要匹配)：
        System.out.println(dataInputStream.readUTF());
        System.out.println(dataInputStream.readBoolean());
        System.out.println(dataInputStream.readDouble());
        System.out.println(dataInputStream.readInt());
        //关闭流：
        dataInputStream.close();
    }
}
